package com.interfaces;

import android.content.Intent;

import com.enums.TargetApi;

import com.result.ApiResult;

public interface ExternalApi {

	/**
	 * Insert a file on external api
	 * 
	 * @param target
	 * @param file
	 * @return
	 */

	public ApiResult insertFile(TargetApi target, Intent file);

	/**
	 * Create a new directory
	 * 
	 * @return
	 */

	public ApiResult createDirectory();

	/**
	 * Delete file from external api
	 * 
	 * @return
	 */

	public ApiResult deleteFile(TargetApi target, Object file);

	/**
	 * Move file from one service to another one
	 * 
	 * @return
	 */

	public ApiResult moveFile();

	/**
	 * synchronize the service
	 * 
	 * @return
	 */
	public ApiResult synchronize();

	/**
	 * Download file
	 * 
	 * @param target
	 * @param file
	 * @return
	 */

	public ApiResult downloadFile(TargetApi target, Object file);
}
